Non-volatile data storage devices, such as universal serial bus (USB) flash memory devices or removable storage cards, have allowed for increased portability of data and software applications. Flash memory devices can enhance data storage density by storing multiple bits in each flash memory cell. For example, Multi-Level Cell (MLC) flash memory devices provide increased storage density by storing 3 bits per cell, 4 bits per cell, or more. Although increasing the number of bits per cell and reducing device feature dimensions may increase a storage density of a memory device, a bit error rate of data stored at the memory device may also increase.
One of the reasons for bit errors in MLC devices is merging of threshold voltage distribution profiles of different programmable states of MLC cells. Merging of threshold voltage distribution profiles of different states can be due to effects such as cycling (e.g. a number of write/erase cycles) or effects such as “data retention” (e.g. a loss of charge of a floating gate of a transistor of a flash memory cell over time that results in a reduction in the cell's threshold voltage). Some of these bit errors can be converted to erasures by performing a “soft” read of MLC cells according to an offset voltage ΔVt. To illustrate, a “hard” read may determine a hard bit value of a cell based on whether the cell has a threshold voltage above or below a read voltage V1. A “soft” read may be performed at a read voltage V1+ΔVt and/or at a read voltage V1−ΔVt to obtain one or more soft bit values.
If a hard bit value read from a cell differs from a soft bit value read from the cell, a threshold voltage of the cell is near a boundary between cell states. The hard bit value read from the cell may therefore be considered less reliable (as compared to a hard bit value read from a cell having a threshold voltage in a center of a cell state), resulting in an “erasure,” also referred to as a soft bit error. Erasures may result from cells that exhibit hard bit errors because the cells have drifted from an initial state to a neighboring state (Error/Erasure). However, erasures may also result from cells that have approached, but have not crossed, a state boundary and that do not exhibit hard bit errors (Erasure/No-Error).